package net.realsee.domain.wcs.work.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import net.realsee.common.annotation.ExcelDictFormat;
import net.realsee.common.convert.ExcelDictConvert;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 系统告警信息视图对象 wcs_warn
 *
 * @author realsee
 * @date 2023-08-24
 */
@Data
@ExcelIgnoreUnannotated
public class WcsWarnVo {

    private static final long serialVersionUID = 1L;

    /**
     * 主键,自增ID
     */
    @ExcelProperty(value = "主键,自增ID")
    private Long id;

    /**
     * 告警主体(可用于记录具体的设备，点位等)
     */
    @ExcelProperty(value = "告警主体(可用于记录具体的设备，点位等)")
    private String warnSubject;

    /**
     * 告警类别，可用于区分系统、线体、设备等
     */
    @ExcelProperty(value = "告警类别，可用于区分系统、线体、设备等")
    private String warnClass;

    /**
     * 告警类型(warn_type.warn_type)
     */
    @ExcelProperty(value = "告警类型(warn_type.warn_type)")
    private String warnType;

    /**
     * 告警状态(warn_status.warn_status)
     */
    @ExcelProperty(value = "告警状态(warn_status.warn_status)")
    private String warnStatus;

    /**
     * 告警开始时间
     */
    @ExcelProperty(value = "告警开始时间")
    private Date startedOn;

    /**
     * 告警优先级1～10， 0-不考虑, 1:最高;  10:最低
     */
    @ExcelProperty(value = "告警优先级1～10， 0-不考虑, 1:最高;  10:最低")
    private Long priority;

    /**
     * 告警信息
     */
    @ExcelProperty(value = "告警信息")
    private String message;

    /**
     * 告警到期日期
     */
    @ExcelProperty(value = "告警到期日期")
    private Date expirationDate;

    /**
     * 持续时间
     */
    @ExcelProperty(value = "持续时间")
    private Long duration;

    /**
     * 父告警/源告警ID
     */
    @ExcelProperty(value = "父告警/源告警ID")
    private Long parWarnId;

    /**
     * 位置码
     */
    @ExcelProperty(value = "位置码")
    private String positionCode;

    /**
     * 关联的单据号/任务号
     */
    @ExcelProperty(value = "关联的单据号/任务号")
    private String orderNo;

    /**
     * 关联的单据行号/任务行号
     */
    @ExcelProperty(value = "关联的单据行号/任务行号")
    private String orderLineNo;

    /**
     * 创建人
     */
    @ExcelProperty(value = "创建人")
    private String createBy;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 更新人
     */
    @ExcelProperty(value = "更新人")
    private String updateBy;

    /**
     * 更新时间
     */
    @ExcelProperty(value = "更新时间")
    private Date updateTime;

    /**
     * 表名
     */
    private String tableName = "wcs_warn";
}
